Soru & Cevap

İlk Programımı yaptım fakat sıkıntı var

21.05.2014 - 03:01

merhaba arkdaşlar uğrşa uğraşa ilk programımı yaptım programın veritabında bilgiler yer alıyor değiştir butonuyla bu bilgileri rastgele çekiyorum fakat sonradan öğrendimki veritabanına eklediğim 400 bilgi kurduğum telefonlara yükleme esnasında geçmiyormuş bunları kurulum esnasında kurulum yapılan telefonun veritabanına aktarılmasını nasıl sağlayabilirim?

11 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-8830-1391612833.jpg
OsmanYalin
21.05.2014 - 03:35

SQLite Expert Personal ya da Professional programını kurarak veritabanını, veritabanına ait tabloları ve tabloların içinde yer alan data'ları hazırlayabilirsin. Daha sonra SQLiteAssetHelper sınıfından kalıtım alan bir veritabanı sınıfı yazarak verilerini çekebilirsin.

Fatih
21.05.2014 - 06:00
teşekkür ederim cevabınız için sorunu çözdüm fakat sıkıntı programı ilk açıldığında verilerin yüklenmemesi 2. açtığımda sorunsuz çalışıyor tüm veriler
Osman Yalin
27.05.2014 - 07:49
Verileri onCreate'in içinde insert ediyorsan, ilk seferde zaten tablon databases'te yer aldığı için hata alıyor olabilirsin. programı çalıştırmadan önce DDMS'ten "data>data>package_ismin>databases" uzantısına gidip var olan veritabanını ve journal dosyasını silersen sorundan kurtulabilirsin.
Profile picture for user FATIH_999
FATIH_999
21.05.2014 - 03:15

Aşağıdaki şekilde emulatörde otomatik aktarmayı başardım assets klasörü ile fakat programı kapatıp açmayınca veriler yüklenmiyor ilk yüklemede aç dediğimde yüklenmesini nasıl sağlayabilirim?

[code]

try {
             
            this.deleteDatabase("/data/data/"+ getPackageName() +"/databases/bilgi");
     
            String dbPath = "/data/data/" + getPackageName()
                    + "/databases/bilgi";
     
            File f = new File(dbPath);
            if (!f.exists()) {

                InputStream in = getAssets().open("bilgi");
                OutputStream out = new FileOutputStream(dbPath);
     
                byte[] buffer = new byte[1024];
                int length;
                while ((length = in.read(buffer)) > 0) {
                    out.write(buffer, 0, length);
                }
                in.close();
                out.close();
            }
     
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
     

[/code]